//输出斐波拉切数列的前N项，N由用户输入。斐波拉切数列的定义是前两个是1，后面的每一个是前面的两个和，比如N是5,则输出结果是1,1,2,3,5
import scala.io.StdIn

object FibonacciSequence {
  def main(args: Array[String]): Unit = {
    println("请输入要输出斐波那契数列的项数 N:")
    val n = StdIn.readInt()

    if (n <= 0) {
      println("输入的项数必须是正整数。")
    } else {
      val fibonacci = generateFibonacci(n)
      println(fibonacci.mkString(","))
    }
  }

  def generateFibonacci(n: Int): List[Int] = {
    if (n == 1) {
      List(1)
    } else if (n == 2) {
      List(1, 1)
    } else {
      var fib = List(1, 1)
      for (_ <- 2 until n) {
        val next = fib(fib.length - 1) + fib(fib.length - 2)
        fib = fib :+ next
      }
      fib
    }
  }
}